-- @Author: 作者QQ2308873645
-- @Date:   2021-11-27 13:12:32
-- @Last Modified by:   作者QQ201878826
-- @Last Modified time: 2022-08-27 14:19:37
local 场景类_助战副宠栏 = class(窗口逻辑)
local 图像类 = require("gge图像类")
local zts,zts1,tp
local insert = table.insert
local mouseb = 引擎.鼠标弹起
function 场景类_助战副宠栏:初始化(根)
    self.ID = 597
    self.x = 160+(全局游戏宽度-800)/2
    self.y = 40
    self.xx = 0
    self.yy = 0
    self.注释 =  "助 战 系 统"
    self.bb头像 = {}
    self.bb品质 = {}
    self.状态 = 1
    --self.bb技能3 = {}
    tp = 根
end
function 场景类_助战副宠栏:加载(根)

    self.鼠标 = false
    self.焦点 = false
    self.可移动 = true
    local 资源 = 根.资源
    local 按钮 = 根._按钮
    local 自适应 = 根._自适应
    self.资源组 = {
        [1] = 自适应.创建(0,1,500,381,3,9),
        [2] = 按钮.创建(自适应.创建(18,4,16,16,4,3),0,0,4,true,true),
        [3] = 资源:载入('llm.dll',"网易WDF动画",0x240),
        [4] = 按钮.创建(自适应.创建(11,4,75,20,1,3),0,0,4,true,true,"炼化被动"),
        [5] = 按钮.创建(自适应.创建(11,4,75,20,1,3),0,0,4,true,true,"炼化被动"),
        [6] = 按钮.创建(自适应.创建(11,4,75,20,1,3),0,0,4,true,true,"炼化被动"),
        [7] = 按钮.创建(自适应.创建(11,4,75,20,1,3),0,0,4,true,true,"炼化被动"),
        [8] = 资源:载入('JM.dll',"网易WDF动画",0x68D384BD),
        [9] = 按钮.创建(自适应.创建(11,4, 75,20,1,3),0,0,4,true,true, "炼化主动"),
        [10] = 按钮.创建(自适应.创建(11,4,75,20,1,3),0,0,4,true,true,"炼化主动"),
        [11] = 按钮.创建(自适应.创建(11,4,75,20,1,3),0,0,4,true,true,"炼化主动"),
        [12] = 按钮.创建(自适应.创建(11,4,75,20,1,3),0,0,4,true,true,"炼化主动"),
        [13] = 按钮.创建(自适应.创建(13,4,27,22,1,3),0,0,4,true,true,"参"),
        [14] = 按钮.创建(自适应.创建(13,4,27,22,1,3),0,0,4,true,true,"参"),
        [15] = 按钮.创建(自适应.创建(13,4,27,22,1,3),0,0,4,true,true,"参"),
        [16] = 按钮.创建(自适应.创建(13,4,27,22,1,3),0,0,4,true,true,"参"),
        [17] = 按钮.创建(自适应.创建(13,4,27,22,1,3),0,0,4,true,true,"休"),
        [18] = 按钮.创建(自适应.创建(13,4,27,22,1,3),0,0,4,true,true,"休"),
        [19] = 按钮.创建(自适应.创建(13,4,27,22,1,3),0,0,4,true,true,"休"),
        [20] = 按钮.创建(自适应.创建(13,4,27,22,1,3),0,0,4,true,true,"休"),
        [21] = 按钮.创建(自适应.创建(11,4,115,22,1,3),0,0,4,true,true,"屏蔽一主动技能"),
        [22] = 按钮.创建(自适应.创建(11,4,115,20,1,3),0,0,4,true,true,"屏蔽二主动技能"),
        [23] = 按钮.创建(自适应.创建(11,4,115,20,1,3),0,0,4,true,true,"屏蔽三主动技能"),
        [24] = 按钮.创建(自适应.创建(11,4,115,20,1,3),0,0,4,true,true,"屏蔽四主动技能"),
        [25] = 按钮.创建(自适应.创建(11,4,115,20,1,3),0,0,4,true,true,"释放一主动技能"),
        [26] = 按钮.创建(自适应.创建(11,4,115,20,1,3),0,0,4,true,true,"释放二主动技能"),
        [27] = 按钮.创建(自适应.创建(11,4,115,20,1,3),0,0,4,true,true,"释放三主动技能"),
        [28] = 按钮.创建(自适应.创建(11,4,115,20,1,3),0,0,4,true,true,"释放四主动技能"),
        [29] = 图像类(程序目录.."data/pic/问号.png"),
        [30] = 自适应.创建(9,1,483,63,3,9),
        [31] = 图像类(程序目录.."data/pic/zbt2.png"),
        [32] = 图像类(程序目录.."data/pic/zz.png"),
        [33] = 图像类(程序目录.."data/pic/pb.png"),
    }
    self.状态 = 1
    for i=4,7 do
        self.资源组[i]:绑定窗口_(597)
    end
    for i=9,28 do
        self.资源组[i]:绑定窗口_(597)
    end
    self.资源组[2]:绑定窗口_(597)
    -- self.资源组[3]:置偏移(-1,0)
    self.窗口时间 = 0
    zts = tp.字体表.华康字体
    zts1 = tp.字体表.华康字体
    zts2 = tp.字体表.副宠字体
    zts3 = tp.字体表.副宠字体一
    zts4 = tp.字体表.副宠字体二
    self.技能 = {}
    local jn = 根._技能格子
    self.锁定技能=0
    for i=1,36 do
        self.技能[i] = jn(0,0,i,"召唤兽资质技能")
    end
    self.bb头像 = {}
    self.bb品质 = {}
    --self.bb技能3 = {}
end

function 场景类_助战副宠栏:打开(数据)
    if self.可视 then
        self.可视 = false
        self.锁定技能=0
    else
    if  self.x > 全局游戏宽度 then
       self.x = 260+(全局游戏宽度-800)/2
    end
    self:加载(tp)
    self.数据=数据
        insert(tp.窗口_,self)

        tp.运行时间 = tp.运行时间 + 1
        self.窗口时间 = tp.运行时间
        self.可视 = true
        self.锁定技能=0

        self.状态 = 1


        self.bb头像 = {}
        self.bb品质 = {}
        for n=1,4 do
           local s = ModelData[self.数据["助战"..self:取大写数字(n)].造型]
          if s  then
           self.bb头像[n] = tp.资源:载入(s.头像资源,"网易WDF动画",s.小头像)
           else
           s = ModelData["超级泡泡"]
           self.bb头像[n] = tp.资源:载入(s.头像资源,"网易WDF动画",s.小头像)
           end
           self.bb品质[n] = 图像类(程序目录.."data/pic/"..self.数据["助战"..self:取大写数字(n)].品质..".png")
       end
 end
end



function 场景类_助战副宠栏:取大写数字(a)

if a == 1  then
 return "一"
elseif a==2 then
return "二"
elseif a==3 then
return "三"
elseif a==4 then
return "四"
end

end

function 场景类_助战副宠栏:刷新信息(数据)
    self.数据=数据
        self.bb头像 = {}
        self.bb品质 = {}
        for n=1,4 do
           local s = ModelData[self.数据["助战"..self:取大写数字(n)].造型]
           if s  then
           self.bb头像[n] = tp.资源:载入(s.头像资源,"网易WDF动画",s.小头像)
           else
           s = ModelData["超级泡泡"]
           self.bb头像[n] = tp.资源:载入(s.头像资源,"网易WDF动画",s.小头像)
           end
           self.bb品质[n] = 图像类(程序目录.."data/pic/"..self.数据["助战"..self:取大写数字(n)].品质..".png")
       end
end

function 场景类_助战副宠栏:显示(dt,x,y)
    self.焦点 = false
    self.资源组[2]:更新(x,y)
    self.资源组[3]:更新(x,y)
    for i=4,7 do
        self.资源组[i]:更新(x,y)
    end
    for i=9,20 do
        self.资源组[i]:更新(x,y)
    end
    self.资源组[1]:显示(self.x,self.y+10+25)
    self.资源组[2]:显示(self.x+508-25,self.y+10+25)
    self.资源组[29]:显示(self.x+210+85-25,self.y+5+10+25)


          if self.资源组[29]:检查点(x,y)  then
             tp.提示:自定义(x+90,y,"#G/【主动技能介绍】#R/主动技能最多可炼化5个（人物/宠物技能随机），保底机制，技能只增不减，点击单个主动技能图标可屏蔽单个主动技能，再次点击取消屏蔽\n#G/【被动技能介绍】#R/被动技能最多可炼化24个，保底机制，技能只增不减\n#G/【助战升级介绍】#R/助战升级丹（右键使用提升助战等级1级）\n#G/【助战造型介绍】#R/点击助战头像，消耗抽卡劵刷新造型及品质\n#G/【助战品质介绍】#R/品质即成长，由低到高#W/【普通】#G/【中等】#B/【高级】#P/【优秀】#Y/【极品】，#G/可通过随机抽卡获取更高品质")
          end

    self.资源组[31]:显示(self.x+10,self.y+342)

      for i=1,4 do
       self.资源组[30]:显示(self.x+5,self.y+70+10+((i-1)*65))
       tp.宠物头像背景_:显示(self.x+20,self.y+70+20+((i-1)*65))
      if self.bb头像[i] then
        self.bb头像[i]:显示(self.x+23,self.y+74+20+((i-1)*65))
        self.bb品质[i]:显示(self.x+20,self.y+74+17+((i-1)*65))


        if   self.bb头像[i]:是否选中(x,y) then
           tp.提示:自定义(x-42,y+27,"#R/【"..i.."号助战】#Y/shift+鼠标左键点击更换助战造型")
             if mouseb(0) then
               self.状态 = i
                if  引擎.按键按住(0x10)  then
                    --tp.窗口.助战抽卡:打开(self.数据["助战"..self:取大写数字(i)])
                  客户端:发送数据(2, 5, 116, "助战一")
                end
             end
         end
      end


      self.资源组[32]:显示(self.x+239,self.y+82+((i-1)*65))
    end



    for i=4,7 do
        self.资源组[i]:显示(self.x+180-25,self.y+105+13+((i-4)*65))
    end
    for i=9,12 do
        self.资源组[i]:显示(self.x+180-25,self.y+72+13+((i-9)*65))
    end





    if self.数据.助战一.参战 == 0 then
       self.资源组[13]:显示(self.x+240,self.y+84)
    else
       self.资源组[17]:显示(self.x+240,self.y+116)
    end
    if self.数据.助战二.参战 == 0 then
       self.资源组[14]:显示(self.x+240,self.y+84+65)
    else
       self.资源组[18]:显示(self.x+240,self.y+116+65)
    end
    if self.数据.助战三.参战 == 0 then
       self.资源组[15]:显示(self.x+240,self.y+84+65+65)
    else
       self.资源组[19]:显示(self.x+240,self.y+116+65+65)
    end
    if self.数据.助战四.参战 == 0 then
       self.资源组[16]:显示(self.x+240,self.y+84+65+65+65)
    else
       self.资源组[20]:显示(self.x+240,self.y+116+65+65+65)
    end
    zts1:置字间距(3)
    tp.字体表.普通字体:置颜色(0xFFFFFFFF):显示(self.x+210-25,self.y+5+10+25,self.注释)

    zts:置描边颜色(-16240640)
    zts:置颜色(0xFF843c31)
    for i=1,4 do
        tp.字体表.普通字体:置颜色(0xFFFF6600):显示(self.x+100-25,self.y+ 15 +108+((i-1)*65),"被动技能：")
        tp.字体表.普通字体:置颜色(0xFFFF6600):显示(self.x+100-25,self.y+ 15 +75+((i-1)*65),"主动技能:")
       if self.状态 == i then
          tp.字体表.普通字体:置颜色(0xFFFFFF00):显示(self.x-30 +50+60,self.y  + 20 + 335,self.数据["助战"..self:取大写数字(i)].等级)
          tp.字体表.普通字体:置颜色(0xFFFFFF00):显示(self.x-30 +50+180,self.y + 20 + 335,self.数据["助战"..self:取大写数字(i)].气血上限)
          tp.字体表.普通字体:置颜色(0xFFFFFF00):显示(self.x-30 +50+300,self.y + 20 + 335,self.数据["助战"..self:取大写数字(i)].魔法上限)
          tp.字体表.普通字体:置颜色(0xFFFFFF00):显示(self.x-30 +50+420,self.y + 20 + 335,self.数据["助战"..self:取大写数字(i)].命中)
          tp.字体表.普通字体:置颜色(0xFFFFFF00):显示(self.x-30 +50+60,self.y  + 20 + 365,self.数据["助战"..self:取大写数字(i)].伤害)
          tp.字体表.普通字体:置颜色(0xFFFFFF00):显示(self.x-30 +50+180,self.y + 20 + 365,self.数据["助战"..self:取大写数字(i)].灵力)
          tp.字体表.普通字体:置颜色(0xFFFFFF00):显示(self.x-30 +50+300,self.y + 20 + 365,self.数据["助战"..self:取大写数字(i)].防御)
          tp.字体表.普通字体:置颜色(0xFFFFFF00):显示(self.x-30 +50+420,self.y + 20 + 365,self.数据["助战"..self:取大写数字(i)].速度)
      end
    end



    tp.字体表.普通字体:置颜色(0xFFFFFFFF):显示(self.x-30+ 50+20,self.y  + 20 + 335,"等级：")
    tp.字体表.普通字体:置颜色(0xFFFFFFFF):显示(self.x-30+ 50+140,self.y + 20 + 335,"气血：")
    tp.字体表.普通字体:置颜色(0xFFFFFFFF):显示(self.x-30+ 50+260,self.y + 20 + 335,"魔法：")
    tp.字体表.普通字体:置颜色(0xFFFFFFFF):显示(self.x-30+ 50+380,self.y + 20 + 335,"命中：")
    tp.字体表.普通字体:置颜色(0xFFFFFFFF):显示(self.x-30+ 50+20,self.y  + 20 + 365,"伤害：")
    tp.字体表.普通字体:置颜色(0xFFFFFFFF):显示(self.x-30+ 50+140,self.y + 20 + 365,"灵力：")
    tp.字体表.普通字体:置颜色(0xFFFFFFFF):显示(self.x-30+ 50+260,self.y + 20 + 365,"防御：")
    tp.字体表.普通字体:置颜色(0xFFFFFFFF):显示(self.x-30+ 50+380,self.y + 20 + 365,"速度：")



    if self.资源组[2]:事件判断() then
        self:打开()
        return false
    elseif self.资源组[4]:事件判断() then
        tp.窗口.助战一技能:打开(self.数据.助战一.技能)
    elseif self.资源组[5]:事件判断() then
        tp.窗口.助战二技能:打开(self.数据.助战二.技能)
    elseif self.资源组[6]:事件判断() then
        tp.窗口.助战三技能:打开(self.数据.助战三.技能)
    elseif self.资源组[7]:事件判断() then
        tp.窗口.助战四技能:打开(self.数据.助战四.技能)
    elseif self.资源组[9]:事件判断() then
        客户端:发送数据(2, 1, 116, "助战一")
    elseif self.资源组[10]:事件判断() then
        客户端:发送数据(2, 1, 116, "助战二")
    elseif self.资源组[11]:事件判断() then
        客户端:发送数据(2, 1, 116, "助战三")
    elseif self.资源组[12]:事件判断() then
        客户端:发送数据(2, 1, 116, "助战四")
    elseif self.资源组[13]:事件判断() then
        客户端:发送数据(2, 3, 116, "助战一")
    elseif self.资源组[14]:事件判断() then
        客户端:发送数据(2, 3, 116, "助战二")
    elseif self.资源组[15]:事件判断() then
        客户端:发送数据(2, 3, 116, "助战三")
    elseif self.资源组[16]:事件判断() then
        客户端:发送数据(2, 3, 116, "助战四")
    elseif self.资源组[17]:事件判断() then
        客户端:发送数据(2, 3, 116, "助战一")
    elseif self.资源组[18]:事件判断() then
        客户端:发送数据(2, 3, 116, "助战二")
    elseif self.资源组[19]:事件判断() then
        客户端:发送数据(2, 3, 116, "助战三")
    elseif self.资源组[20]:事件判断() then
        客户端:发送数据(2, 3, 116, "助战四")
    -- elseif self.资源组[21]:事件判断() then
        -- 客户端:发送数据(2, 4, 116, "助战一")
    -- elseif self.资源组[22]:事件判断() then
        -- 客户端:发送数据(2, 4, 116, "助战二")
    -- elseif self.资源组[23]:事件判断() then
        -- 客户端:发送数据(2, 4, 116, "助战三")
    -- elseif self.资源组[24]:事件判断() then
        -- 客户端:发送数据(2, 4, 116, "助战四")
    -- elseif self.资源组[25]:事件判断() then
        -- 客户端:发送数据(2, 4, 116, "助战一")
    -- elseif self.资源组[26]:事件判断() then
        -- 客户端:发送数据(2, 4, 116, "助战二")
    -- elseif self.资源组[27]:事件判断() then
        -- 客户端:发送数据(2, 4, 116, "助战三")
    -- elseif self.资源组[28]:事件判断() then
        -- 客户端:发送数据(2, 4, 116, "助战四")
    end

    local aa = 0
    for n=1,5 do
        local jx = self.x+295-25+(aa*41)
        local jy = self.y+85
       self.资源组[8]:显示(jx,jy)
        aa = aa + 1
    end

    local aa = 0
    for n=1,5 do
        local jx = self.x+295-25+(aa*41)
        local jy = self.y+150
       self.资源组[8]:显示(jx,jy)
        aa = aa + 1
    end
    local aa = 0
    for n=1,5 do
        local jx = self.x+295-25+(aa*41)
        local jy = self.y+215
       self.资源组[8]:显示(jx,jy)
        aa = aa + 1
    end
    local aa = 0
    for n=1,5 do
        local jx = self.x+295-25+(aa*41)
        local jy = self.y+280
       self.资源组[8]:显示(jx,jy)
        aa = aa + 1
    end




    for i=1,36 do
        self.技能[i]:置技能(self.数据.助战一.主动技能[i])
    end
    self.技能数量 = #self.数据.助战一.主动技能
    local xx = 0
    local yy = 0

    for i=1,self.技能数量 do
        local jx = self.x+295-25+(xx*41)
        local jy = self.y+85+(yy*41)
        self.技能[i]:置坐标(jx+3,jy+2)
        self.技能[i]:显示(x,y,self.鼠标)
        self.技能[i]:显示(x,y,self.鼠标)
        if self.技能[i].焦点  and self.技能[i].技能 ~= nil then
            tp.提示:BB技能(x,y,self.技能[i].技能)
            tp.选中焦点:显示(jx,jy)
            if mouseb(0) then
               客户端:发送数据(i, 4, 116, "助战一")
            end
        end
          if self.数据.助战一.主动技能[i].屏蔽==true  then
             self.资源组[33]:显示(jx+8,jy+12)
          end

        xx = xx + 1
        if xx > 5 then
            xx = 0
            yy = yy + 1
        end
    end
    for i=1,36 do
        self.技能[i]:置技能(self.数据.助战二.主动技能[i])
    end
    self.技能数量 = #self.数据.助战二.主动技能
    local xx = 0
    local yy = 0
    for i=1,self.技能数量 do
        local jx = self.x+295-25+(xx*41)
        local jy = self.y+150+(yy*41)
        self.资源组[8]:显示(jx,jy)
        self.技能[i]:置坐标(jx+3,jy+2)
        self.技能[i]:显示(x,y,self.鼠标)
        self.技能[i]:显示(x,y,self.鼠标)
        if self.技能[i].焦点  and self.技能[i].技能 ~= nil then
            tp.提示:BB技能(x,y,self.技能[i].技能)
            tp.选中焦点:显示(jx,jy)
            if mouseb(0) then
               客户端:发送数据(i, 4, 116, "助战二")
            end
        end
         if self.数据.助战二.主动技能[i].屏蔽==true  then
             self.资源组[33]:显示(jx+8,jy+12)
          end

        xx = xx + 1
        if xx > 5 then
            xx = 0
            yy = yy + 1
        end
    end
    for i=1,36 do
        self.技能[i]:置技能(self.数据.助战三.主动技能[i])
    end
    self.技能数量 = #self.数据.助战三.主动技能
    local xx = 0
    local yy = 0
    for i=1,self.技能数量 do
        local jx = self.x+295-25+(xx*41)
        local jy = self.y+215+(yy*41)
        self.资源组[8]:显示(jx,jy)
        self.技能[i]:置坐标(jx+3,jy+2)
        self.技能[i]:显示(x,y,self.鼠标)
        self.技能[i]:显示(x,y,self.鼠标)
        if self.技能[i].焦点  and self.技能[i].技能 ~= nil then
            tp.提示:BB技能(x,y,self.技能[i].技能)
            tp.选中焦点:显示(jx,jy)
            if mouseb(0) then
               客户端:发送数据(i, 4, 116, "助战三")
            end
        end
        if self.数据.助战三.主动技能[i].屏蔽==true  then
             self.资源组[33]:显示(jx+8,jy+12)
          end
        xx = xx + 1
        if xx > 5 then
            xx = 0
            yy = yy + 1
        end
    end
    for i=1,36 do
        self.技能[i]:置技能(self.数据.助战四.主动技能[i])
    end
    self.技能数量 = #self.数据.助战四.主动技能
    local xx = 0
    local yy = 0
    for i=1,self.技能数量 do
        local jx = self.x+295-25+(xx*41)
        local jy = self.y+280+(yy*41)
        self.资源组[8]:显示(jx,jy)
        self.技能[i]:置坐标(jx+3,jy+2)
        self.技能[i]:显示(x,y,self.鼠标)
        self.技能[i]:显示(x,y,self.鼠标)
        if self.技能[i].焦点  and self.技能[i].技能 ~= nil then
            tp.提示:BB技能(x,y,self.技能[i].技能)
            tp.选中焦点:显示(jx,jy)
            if mouseb(0) then
               客户端:发送数据(i, 4, 116, "助战四")
            end
        end
        --print(self.数据.助战四.主动技能[i].屏蔽)
        if self.数据.助战四.主动技能[i].屏蔽==true  then
            self.资源组[33]:显示(jx+8,jy+12)
          end
        -- if self.锁定技能 == 1 then
           -- zts3:显示(jx+3,jy+2,"已锁定")
        -- end
        -- if self.技能[i].焦点 and 引擎.鼠标弹起(左键) then
            -- -- if self.锁定技能 == 0 then
                -- -- self.锁定技能=1
            -- -- else
                -- -- self.锁定技能=0
            -- -- end
        -- end
        xx = xx + 1
        if xx > 5 then
            xx = 0
            yy = yy + 1
        end
    end



end

return 场景类_助战副宠栏